//
//  Person.m
//  02-ClassObjective-C
//
//  Created by dllo on 16/7/5.
//  Copyright © 2016年 dllo. All rights reserved.
//

#import "Person.h"

@implementation Person
//实现:方法 加 { }
- (void)sleep:(NSInteger)time{
//NSLog属于c语言的函数
    NSLog(@"这个人睡了%ld年",time);

}
- (void)setName:(NSString *)name{
    if (_name != name) {
        [_name release];
        _name = [[name retain] autorelease];
    }

}

- (NSString *)name{
    
    return [[_name retain] autorelease];
    
}
//命名规范
//实现大括号之前,要加空格/回车
//指派初始化方法
//无论调用哪个初始化方法,都会执行的初始化方法,称之为指派初始化
- (instancetype)initWithName:(NSString *)name
                         age:(NSInteger)age {
    self = [super init];
    if (self) {
        _name = name;
        _age = age;
    }

    return self;

}




- (instancetype)initWithName:(NSString *)name {
    
    return [self initWithName:name age:0];

}

- (instancetype)initWithAge:(NSInteger)age {

    return [self initWithName:nil age:age];
}

//便利构造器

+ (instancetype)personWithName:(NSString *)name age:(NSInteger)age {

    return [[[Person alloc] initWithName:name age:age] autorelease];
}











@end
